import pandas as pd
df = pd.read_csv('result.csv')
df
df['Order_Date'] = pd.to_datetime(df.Order_Date)
df['Hour'] = df.Order_Date.dt.hour
df['Day_name'] = df.Order_Date.dt.day_name()
df
result = df.groupby('Hour').agg(['sum', 'count'])['Total']
result
result.sort_values('sum', ascending=False).head(5)
result.sort_values('count', ascending=False).head(5)
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
plt.bar(result.index, result['sum'])
plt.gcf().axes[0].yaxis.get_major_formatter().set_scientific(False)
plt.xticks(range(0, 24))
plt.yticks(range(0, int(round(result['sum'].max()))+1500000, 500000))
plt.xlabel('Часы')
plt.ylabel('Выручка в $')
for index, value in enumerate(result['sum']):
plt.text(
index,
value+100000,
'{0:,}'.format(round(value)).replace(',', ' '),
rotation=90,
size='10',
color='#000',
ha='center')
plt.grid()
plt.show()
plt.figure(figsize=(10, 6))
plt.bar(result.index, result['count'])
plt.gcf().axes[0].yaxis.get_major_formatter().set_scientific(False)
plt.xticks(range(0, 24))
plt.yticks(range(0, int(round(result['count'].max()))+5000, 1000))
plt.xlabel('Часы')
plt.ylabel('Кол-во покупок')
for index, value in enumerate(result['count']):
plt.text(
index,
value+500,
'{0:,}'.format(round(value)).replace(',', ' '),
rotation=90,
size='10',
color='#000',
ha='center')
plt.grid()
plt.savefig('Count.png', dpi=100)
plt.show()
df.to_csv('result.csv', index=False)